﻿using BLL;
using DTO;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace BONGDA
{
    public partial class frmUpTours : Form
    {
        public int maSan;
        public frmUpTours()
        {
            InitializeComponent();
        }
        public frmUpTours(int ma)
        {
            InitializeComponent();
            maSan = ma;
            try
            {
                SanVanDong_DTO dto = SanVanDong_BLL.SelectByID(maSan);
                txtTen.Text = dto.TenSan;
                txtDiaDiem.Text = dto.DiaDiem;
                txtNamXay.Text = dto.NamXay.ToString();
                txtSucChua.Text = dto.SucChua.ToString();
                Image FetchedImg;
                MemoryStream stream = new MemoryStream(dto.ByteTours);
                FetchedImg = Image.FromStream(stream);
                picTour.Image = FetchedImg;
            }
            catch (Exception)
            {
            }            
        }

        private void picTour_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();
            dlg.Filter = "PNG Files(*.PNG)|*.PNG|JPG Files(*.JPG)|*.JPG|GIF Files(*.GIF)|*.GIF";
            if (dlg.ShowDialog(this) == DialogResult.OK)
            {
                picTour.Image = Image.FromFile(dlg.FileName);
            }
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private byte[] ConvertImageToBytes(Image InputImage)
        {
            Bitmap BmpImage = new Bitmap(InputImage);
            MemoryStream Mystream = new MemoryStream();
            BmpImage.Save(Mystream, System.Drawing.Imaging.ImageFormat.Jpeg);
            byte[] ImageAsBytes = Mystream.ToArray();
            return ImageAsBytes;
        }
        private void btnSua_Click(object sender, EventArgs e)
        {
            if (this.txtTen.Text.ToString() == "" || this.txtDiaDiem.Text.ToString() == "")
            {
                MessageBox.Show("Điền đầy đủ tất cả các trường!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                return;
            }
            SanVanDong_DTO dto = new SanVanDong_DTO();
            dto.TenSan = this.txtTen.Text.ToString();
            dto.DiaDiem = this.txtDiaDiem.Text.ToString();
            try
            {
                dto.NamXay = Convert.ToInt32(this.txtNamXay.Text.ToString());
                dto.SucChua = Convert.ToInt32(this.txtSucChua.Text.ToString());
            }
            catch (Exception)
            {
                MessageBox.Show("\"Năm xây\" hoặc \"Sức chứa\" chưa đúng!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                return;
            }
            if (picTour.Image != null)
            {
                dto.ByteTours = ConvertImageToBytes(picTour.Image);
            }
            else
            {
                MessageBox.Show("Chọn HÌNH ẢNH cho sân vận động!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                return;
            }
            dto.MaSan = maSan;
            SanVanDong_BLL.Update(dto);
            MessageBox.Show("Chỉnh sữa thành công!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            this.Close();
        }
    }
}
